package com.sale.goods.service;

import com.sale.common.mybatis.core.page.PageQuery;
import com.sale.common.mybatis.core.page.TableDataInfo;
import com.sale.goods.domain.GoodsTurn;
import com.sale.goods.domain.dto.GoodsTurnDto;
import com.sale.goods.domain.vo.GoodsTurnVo;

/**
 * @Description 转账单
 * @Date 23-07-28
 * @Author hl
 **/
public interface IGoodsTurnService {

    /**
     * 分页查询转账单
     *
     * @param goodsTurnVo,pageQuery
     * @return 转账单集合
     */
    TableDataInfo<GoodsTurnDto> selectTurnList(GoodsTurnVo goodsTurnVo, PageQuery pageQuery);


    /**
     * 新增转账单
     *
     * @param goodsTurnVo
     * @return int
     */
    int insertTurn(GoodsTurnVo goodsTurnVo) throws Exception;

    /**
     * 修改转账单
     *
     * @param goodsTurnVo
     * @return int
     */
    int updateTurnEdit(GoodsTurnVo goodsTurnVo);

    /**
     * 删除转账单
     *
     * @param turnId
     * @return int
     */
    int deleteTurnById(Long turnId);

    /**
     * 查询转账单
     *
     * @param turnId
     * @return GoodsTurn
     */
    GoodsTurn selectTurnById(long turnId);

    /**
     * 提交审核
     *
     * @param turnId
     * @return int
     */
    int submitReview(Long turnId);

    /**
     * 撤销审核
     *
     * @param turnId
     * @return int
     */
    int deleteReview(Long turnId);

    /**
     * 审核单据
     *
     * @param goodsTurnVo
     * @return int
     */
    int goodSExamineReview(GoodsTurnVo goodsTurnVo) throws Exception;
}
